A touchscreen controller is typically employed for interfacing an applications processor with a touchscreen display. The touchscreen controller senses interactions of the touchscreen display by the user, and communicates those interactions to the applications processor. Such interactions may include initial touching of the display by the user, dragging a pointer or finger across the display, and releasing the pointer or finger from the display. Based on the application, the applications processor performs one or more operations in response to the detected interactions.
In the past, the touchscreen controller would communicate all detectable user interactions or events to the applications processor, no matter how small or minute those interactions were. Such operation would result in a large number of communications between the touchscreen controller and the applications processor. This generally reduced the speed and efficiency of the applications processor in performing user applications. This is better exemplified with reference to the following example.
FIG. 1 illustrates a flow diagram of a method 100 of interfacing an applications processor with a touchscreen display using a conventional touchscreen controller (TSC). According to the method 100, a touchscreen controller sits in idle mode issuing an interrupt signal IRQ=0 indicating that the touchscreen display is not being touched (block 102). Then, in response to the touchscreen controller detecting the touching of the touchscreen display and issuing an interrupt signal IRQ=1 indicating the same, the applications processor sends a request to the touchscreen controller to perform a measurement of the touchscreen display (block 104). In response to the measurement request, the touchscreen controller performs the requested measurement (block 108), while the applications processor waits a time interval of TMEASUREMENT for the measurement to be complete (block 106).
Once the measurement has been completed, the applications processor retrieves the measurement data from the touchscreen controller (block 110). Then, the applications processor determines whether the touchscreen display is being touched based on the interrupt signal IRQ issued by the touchscreen controller (block 112). If the touchscreen display is not being touched as indicated by the interrupt signal IRQ=0, the applications processor causes the touchscreen controller to revert back to idle mode (block 102). On the other hand, if the touchscreen display is being touched as indicated by the interrupt signal IRQ=1, the applications processor waits a time interval TSAMPLE for the next scheduled measurement cycle (block 114) before requesting another measurement (block 104).
As apparent from the flow diagram of the method 100, the applications processor is highly involved in the touchscreen measurement process. For instance, for each measurement cycle, the applications processor sends a request for measurement to the touchscreen controller, retrieves the measurement data, and determines whether the touchscreen is being touched based on the IRQ signal. This involvement consumes a substantial amount of time and resources for the applications processor, which could be allocated to other more useful operations, such as user applications.